The field of the invention is token passing logical ring networks, and particularly, to token passing logical ring networks for communications among industrial control systems such as process controls, numerical controls, and programmable controllers.
Token passing logical ring networks are comprised of two or more nodes, or stations, which are linked together by a communications media. The communications media may take a number of forms, including coaxial cable, fiber optics, or twisted wire pairs. The topology of the links between stations may also take a number of forms, including star, multidrop, or ring configurations.
Regardless of the media used or the topology of the network, a control scheme is required to provide an orderly transfer of information from one station to another on the network. There have been many varieties of control schemes developed for such networks, which has resulted in a lack of standardization in the industry. In an attempt to define a standard for token passing logical rings, the Institute of Electrical and Electronic Engineers (IEEE) has developed IEEE Standard 802.4, entitled Token Passing Bus Access Method and Physical Layer Specification. That standard sets forth the basic operating procedures to be followed by compliant networks.
As the IEEE 802.4 standard is a relatively new attempt to standardize token passing networks, there are few networks which adhere to it fully. However, many prior networks are based on common precepts which eventually led up to the 802.4 standard. The most common of these precepts is the method by which the stations are linked together to form the logical ring. In prior networks, each station maintains one pointer to the next station in the ring and a second pointer to the previous station in the ring. In other words, each station knows who its successor station is and who its predecessor station is; the station has no other information about the logical ring. To pass the token, the station currently holding the token sends a specifically addressed message to its successor station, the message being identified as a token pass by a distinctive control code. Thus the token repeatedly circulates around the logical ring.
In prior networks, the information in each station indicating the predecessor station is only used in the event that one station in the logical ring fails to accept the token. In that event, a recovery procedure is followed which involves sending a query (who's next?) to all subsequent stations asking which station had the failed station as a predeceessor. If a station responds to the query (I'm next), the station passing the token sends a message to the responding station (load your predecessor) and the responding station sends a message to the passing station (load your successor). The failed station is thus patched out of the logical ring. The token is then passed to the responding station.
While this process is generally satisfactory, it is not efficient in that it requires a series of messages to be passed back and forth on the network which reduces the throughput available for message traffic. The exact process may vary for different networks, but in all prior networks, many different types of messages are required for routine network maintenance functions. Further, if two consecutive stations fail, this procedure cannot recover and the network must be reinitialized or a search procedure conducted for the new successor.
A further limitation of prior token passing networks is that because each station knew only its successor and predecessor, token passes among other stations were ignored. It was thus not practical to broadcast useful data in the token pass message itself.
Token passing logical ring networks are desirable for industrial control applications because token rotation time and throughput can be accurately estimated. In such an industrial control environment, token passing logical ring networks can be used for example to exchange information among several controllers acting in coordination to implement a higher level process. In such applications, it is desireable for each controller in the system to know which other stations are currently operating on the network, so that the appropriate actions can be taken. To acquire such information in prior systems, it was necessary for each station to explicitly transmit its on line status as a high level message to other stations on the network, which of course reduced the network availability for other message traffic.